package array;

import java.util.HashMap;
import java.util.Map;

public class Solution_560 {

    public int subarraySum(int[] nums, int k) {
        int[] s = new int[nums.length + 1];
        for (int i = 0; i < nums.length; i++) {
            s[i + 1] = s[i] + nums[i];
        }
        int res=0;
        Map<Integer, Integer> map = new HashMap<>();
        for (int sj : s) {
            res+=map.getOrDefault(sj-k,0);
            map.merge(sj,1,Integer::sum);
        }
        return res;
    }
}
